
/* Global */

.jBox-wrapper {
  text-align: left;
  box-sizing: border-box;
}

.jBox-title,
.jBox-content,
.jBox-container {
  position: relative;
  word-break: break-word;
  box-sizing: border-box;
}

.jBox-container {
  background: #fff;
}

.jBox-content {
  padding: 8px 10px;
  overflow-x: hidden;
  overflow-y: auto;
  transition: opacity .2s;
}

/* jBox Tooltip */

.jBox-Tooltip .jBox-container,
.jBox-Mouse .jBox-container {
  border-radius: 3px;
  box-shadow: 0 0 3px rgba(0, 0, 0, .25);
}

.jBox-Tooltip .jBox-title,
.jBox-Mouse .jBox-title {
  padding: 8px 10px 0;
  font-weight: bold;
}

.jBox-hasTitle.jBox-Tooltip .jBox-content,
.jBox-hasTitle.jBox-Mouse .jBox-content {
  padding-top: 5px;
}

.jBox-Mouse {
  pointer-events: none;
}

/* Pointer */

.jBox-pointer {
  position: absolute;
  overflow: hidden;
}

.jBox-pointer-top { top: 0; }
.jBox-pointer-bottom { bottom: 0; }
.jBox-pointer-left { left: 0; }
.jBox-pointer-right { right: 0; }

.jBox-pointer-top,
.jBox-pointer-bottom {
  width: 30px;
  height: 12px;
}

.jBox-pointer-left,
.jBox-pointer-right {
  width: 12px;
  height: 30px;
}

.jBox-pointer:after {
  content: '';
  width: 20px;
  height: 20px;
  position: absolute;
  background: #fff;
  transform: rotate(45deg);
}

.jBox-pointer-top:after {
  left: 5px;
  top: 6px;
  box-shadow: -1px -1px 2px rgba(0, 0, 0, .15);
}

.jBox-pointer-right:after {
  top: 5px;
  right: 6px;
  box-shadow: 1px -1px 2px rgba(0, 0, 0, .15);
}

.jBox-pointer-bottom:after {
  left: 5px;
  bottom: 6px;
  box-shadow: 1px 1px 2px rgba(0, 0, 0, .15);
}

.jBox-pointer-left:after {
  top: 5px;
  left: 6px;
  box-shadow: -1px 1px 2px rgba(0, 0, 0, .15);
}

/* jBox Modal */

.jBox-Modal .jBox-container {
  border-radius: 4px;
}

.jBox-Modal .jBox-content {
  padding: 15px 20px;
}

.jBox-Modal .jBox-title {
  border-radius: 4px 4px 0 0;
  padding: 15px 20px;
  background: #fafafa;
  border-bottom: 1px solid #eee;
}

.jBox-Modal .jBox-footer {
  border-radius: 0 0 4px 4px;
}

.jBox-Modal.jBox-closeButton-title .jBox-title {
  padding-right: 55px;
}

.jBox-Modal .jBox-container,
.jBox-Modal.jBox-closeButton-box:before {
  box-shadow: 0 3px 15px rgba(0, 0, 0, .4), 0 0 5px rgba(0, 0, 0, .4);
}

/* Close button */

.jBox-closeButton {
  cursor: pointer;
  position: absolute;
}

.jBox-closeButton svg {
  position: absolute;
  top: 50%;
  right: 50%;
}

.jBox-closeButton path {
  transition: fill .2s;
}

.jBox-closeButton path {
  fill: #aaa;
}

.jBox-closeButton:hover path {
  fill: #888;
}

.jBox-closeButton:active path {
  fill: #666;
}

/* Close button in overlay */

.jBox-overlay .jBox-closeButton {
  top: 0;
  right: 0;
  width: 40px;
  height: 40px;
}

.jBox-overlay .jBox-closeButton svg {
  width: 20px;
  height: 20px;
  margin-top: -10px;
  margin-right: -10px;
}

.jBox-overlay .jBox-closeButton path,
.jBox-overlay .jBox-closeButton:active path {
  fill: #ddd;
}

.jBox-overlay .jBox-closeButton:hover path {
  fill: #fff;
}

/* Close button in title */

.jBox-closeButton-title .jBox-closeButton {
  top: 0;
  right: 0;
  bottom: 0;
  width: 40px;
}

.jBox-closeButton-title .jBox-closeButton svg {
  width: 12px;
  height: 12px;
  margin-top: -6px;
  margin-right: -6px;
}

/* Close button in box */

.jBox-closeButton-box .jBox-closeButton {
  top: -8px;
  right: -10px;
  width: 24px;
  height: 24px;
  background: #fff;
  border-radius: 50%;
}

.jBox-closeButton-box .jBox-closeButton svg {
  width: 10px;
  height: 10px;
  margin-top: -5px;
  margin-right: -5px;
}

.jBox-hasTitle.jBox-Modal.jBox-closeButton-box .jBox-closeButton {
  background: #fafafa;
}

.jBox-closeButton-box:before {
  content: '';
  position: absolute;
  top: -8px;
  right: -10px;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  box-shadow: 0 0 5px rgba(0, 0, 0, .3);
}

.jBox-pointerPosition-top.jBox-closeButton-box:before {
  top: 5px;
}

.jBox-pointerPosition-right.jBox-closeButton-box:before {
  right: 2px;
}

/* Overlay */

.jBox-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, .82);
}

/* Footer */

.jBox-footer {
  background: #fafafa;
  border-top: 1px solid #eee;
  padding: 8px 10px;
  border-radius: 0 0 3px 3px;
}

/* Block scrolling */

body[class^="jBox-blockScroll-"],
body[class*=" jBox-blockScroll-"] {
  overflow: hidden;
}

/* Draggable */

.jBox-draggable {
  cursor: move;
}

/* Spinner */

@keyframes jBoxLoading {
  to { transform: rotate(360deg); }
}

.jBox-loading .jBox-content {
  opacity: .2;
}

.jBox-loading-spinner .jBox-content {
  min-height: 38px !important;
  min-width: 38px !important;
  opacity: 0;
}

.jBox-spinner {
  box-sizing: border-box;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 24px;
  height: 24px;
  margin-top: -12px;
  margin-left: -12px;
}

.jBox-spinner:before {
  display: block;
  box-sizing: border-box;
  content: '';
  width: 24px;
  height: 24px;
  border-radius: 50%;
  border: 2px solid rgba(0, 0, 0, .2);
  border-top-color: rgba(0, 0, 0, .8);
  animation: jBoxLoading .6s linear infinite;
}

/* Animations */

[class^="jBox-animated-"],
[class*=" jBox-animated-"] {
  animation-fill-mode: both;
}

@keyframes jBox-tada {
  0% {transform: scale(1);}
  10%, 20% {transform: scale(0.8) rotate(-4deg);}
  30%, 50%, 70%, 90% {transform: scale(1.2) rotate(4deg);}
  40%, 60%, 80% {transform: scale(1.2) rotate(-4deg);}
  100% {transform: scale(1) rotate(0);}
}

.jBox-animated-tada {
  animation: jBox-tada 1s;
}

@keyframes jBox-tadaSmall {
  0% {transform: scale(1);}
  10%, 20% {transform: scale(0.9) rotate(-2deg);}
  30%, 50%, 70%, 90% {transform: scale(1.1) rotate(2deg);}
  40%, 60%, 80% {transform: scale(1.1) rotate(-2deg);}
  100% {transform: scale(1) rotate(0);}
}

.jBox-animated-tadaSmall {
  animation: jBox-tadaSmall 1s;
}

@keyframes jBox-flash {
  0%, 50%, 100% {opacity: 1;}  
  25%, 75% {opacity: 0;}
}

.jBox-animated-flash {
  animation: jBox-flash .5s;
}

@keyframes jBox-shake {
  0%, 100% {transform: translateX(0);}
  20%, 60% {transform: translateX(-6px);}
  40%, 80% {transform: translateX(6px);}
}

.jBox-animated-shake {
  animation: jBox-shake .4s;
}

@keyframes jBox-pulseUp {
  0% {transform: scale(1);}
  50% {transform: scale(1.15);}
  100% {transform: scale(1);}
}

.jBox-animated-pulseUp {
  animation: jBox-pulseUp .25s;
}

@keyframes jBox-pulseDown {
  0% {transform: scale(1);}
  50% {transform: scale(0.85);}
  100% {transform: scale(1);}
}

.jBox-animated-pulseDown {
  animation: jBox-pulseDown .25s;
}

@keyframes jBox-popIn {
  0% {transform: scale(0);}
  50% {transform: scale(1.1);}
  100% {transform: scale(1);}
}

.jBox-animated-popIn {
  animation: jBox-popIn .25s;
}

@keyframes jBox-popOut {
  0% {transform: scale(1);}
  50% {transform: scale(1.1);}
  100% {transform: scale(0);}
}

.jBox-animated-popOut {
  animation: jBox-popOut .25s;
}

@keyframes jBox-fadeIn {
  0% {opacity: 0;}
  100% {opacity: 1;}
}

.jBox-animated-fadeIn {
  animation: jBox-fadeIn .2s;
}

@keyframes jBox-fadeOut {
  0% {opacity: 1;}
  100% {opacity: 0;}
}

.jBox-animated-fadeOut {
  animation: jBox-fadeOut .2s;
}

@keyframes jBox-slideUp {
  0% {transform: translateY(0);}
  100% {transform: translateY(-300px); opacity: 0;}
}

.jBox-animated-slideUp {
  animation: jBox-slideUp .4s;
}

@keyframes jBox-slideRight {
  0% {transform: translateX(0);}
  100% {transform: translateX(300px); opacity: 0;}
}

.jBox-animated-slideRight {
  animation: jBox-slideRight .4s;
}

@keyframes jBox-slideDown {
  0% {transform: translateY(0);}
  100% {transform: translateY(300px); opacity: 0;}
}

.jBox-animated-slideDown {
  animation: jBox-slideDown .4s;
}

@keyframes jBox-slideLeft {
  0% {transform: translateX(0);}
  100% {transform: translateX(-300px); opacity: 0;}
}

.jBox-animated-slideLeft {
  animation: jBox-slideLeft .4s;
}
